<!DOCTYPE html>
<html lang="zh-CN">


<head>
  <meta charset="UTF-8">
  <link rel="apple-touch-icon" sizes="76x76" href="/ytyz2020/img/favicon.png">
  <link rel="icon" type="image/png" href="/ytyz2020/img/favicon.png">
  <meta name="viewport"
        content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  
  <meta name="description" content="使用本站将更加方便,我们将以最快的速度更新">
  <meta name="author" content="Ekworp">
  <meta name="keywords" content="">
  <title>最新直播 - 玉田一中高三空中课堂增强</title>
<!-- SCRIPTS -->
<script  src="https://cdn.staticfile.org/jquery/3.4.1/jquery.min.js" ></script>

<script  src="https://cdn.staticfile.org/popper.js/1.16.1/umd/popper.min.js" ></script>
<script  src="https://cdn.staticfile.org/twitter-bootstrap/4.4.1/js/bootstrap.min.js" ></script>
<script  src="https://cdn.staticfile.org/mdbootstrap/4.13.0/js/mdb.min.js" ></script>
<script  src="/ytyz2020/js/main.js" ></script>



  <link  rel="stylesheet" href="https://cdn.staticfile.org/font-awesome/5.12.1/css/all.min.css" />
<link  rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.4.1/css/bootstrap.min.css" />
<link  rel="stylesheet" href="https://cdn.staticfile.org/mdbootstrap/4.13.0/css/mdb.min.css" />
<link  rel="stylesheet" href="https://cdn.staticfile.org/github-markdown-css/3.0.1/github-markdown.min.css" />

<link rel="stylesheet" href="//at.alicdn.com/t/font_1067060_qzomjdt8bmp.css">



<link  rel="stylesheet" href="/ytyz2020/css/main.css" />



<!-- 自定义样式保持在最底部 -->


<meta name="generator" content="Hexo 4.2.0"></head>

<body>
<!--
<div id="vcontainer" class="vcontainer"><span id="vloading" class="vloading" data-percent="0"></span>
</div>-->
<!--
     _
  ___| | ____      _____  _ __ _ __
 / _ \ |/ /\ \ /\ / / _ \| '__| '_ \
|  __/   <  \ V  V / (_) | |  | |_) |
 \___|_|\_\  \_/\_/ \___/|_|  | .__/
                              |_|

 _   _ ______   _________   _______
| | | | __ ) \ / /_   _\ \ / /__  /
| |_| |  _ \\ V /  | |  \ V /  / /
|  _  | |_) || |   | |   | |  / /_
|_| |_|____/ |_|   |_|   |_| /____|
-->
  <header style="height: 70vh;">
    <nav id="navbar" class="navbar fixed-top  navbar-expand-lg navbar-dark scrolling-navbar">
  <div class="container">
    <a class="navbar-brand"
       href="/ytyz2020/">&nbsp;<strong>玉田一中高三空中课堂增强</strong>&nbsp;</a>
    <button id="navbar-toggler-btn" class="navbar-toggler" type="button" data-toggle="collapse"
            data-target="#navbarSupportedContent"
            aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
      <div class="animated-icon"><span></span><span></span><span></span></div>
    </button>
    <!-- Collapsible content -->
    <div class="collapse navbar-collapse" id="navbarSupportedContent">
      <ul class="navbar-nav ml-auto text-center">
        
          
          
          
          
          <li class="nav-item">
            <a class="nav-link" href="/ytyz2020/">首页</a>
          </li>
        
          
          
          
          
          <li class="nav-item">
            <a class="nav-link" href="/ytyz2020/archives/">归档</a>
          </li>
        
          
          
          
          
          <li class="nav-item">
            <a class="nav-link" href="/ytyz2020/tags/">标签</a>
          </li>
        
          
          
          
          
          <li class="nav-item">
            <a class="nav-link" href="/ytyz2020/live/">最新直播</a>
          </li>
        
          
          
          
          
          <li class="nav-item">
            <a class="nav-link" href="/ytyz2020/links/">友链</a>
          </li>
        
          
          
          
          
          <li class="nav-item">
            <a class="nav-link" href="/ytyz2020/live2d/">控制面板</a>
          </li>
        
        
      </ul>
    </div>
  </div>
</nav>

    <div class="view intro-2" id="background" parallax=true
         style="background: url('/ytyz2020/assets/jpg/HELLO-WORLD-anime-movie-2019_3840x2160.jpg') no-repeat center center;
           background-size: cover;">
      <div class="full-bg-img" id="full-bg-img">
        <div class="mask rgba-black-light flex-center">
          <div class="container text-center white-text fadeInUp">
            <span class="h2" id="subtitle">
              
            </span>
            
          </div>
          
        </div>
      </div>
    </div>
  </header>
  <main>
    
      <div class="container nopadding-md" id="pjax-container">
        <div class="py-5 z-depth-3" id="board">
          
          <div class="container">
            <div class="row">
              <div class="col-12 col-md-10 m-auto">
                

<div class="page-content markdown-body">
  
<div class="alert alert-primary" role="info">
ekworp: 有任何问题，点击右下方蓝色信息图和我联系
</div>
<h3>用户系统</h3>
<div id="notice2"></div>
当前: <span id="cuser">ヾﾉ≧∀≦)o</span>
<div id="fromlogin">
  <div class="form-group">
    <label for="exampleInputEmail1">Email address</label>
    <input type="email" class="form-control" id="input-email" aria-describedby="emailHelp">
    <small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.</small>
  </div>
  <div class="form-group">
    <label for="exampleInputPassword1">Password</label>
    <input type="text" class="form-control" id="input-password">
  </div>
  <button class="btn btn-primary" onclick="login()" id="loginbtn">登录</button>
  <button class="btn btn-primary" onclick="signUp()" id="signbtn">注册</button>
</div>
<h3>视频</h3>
<div id="notice3"></div>
<div id="notice4"></div>
<div id="video2" playsinline webkit-playsinline>
</div>
<div id="notice"></div>
<script src="/ytyz2020/js/hls.min.js"></script>
<script src="https://cdn.bootcss.com/dplayer/1.25.0/DPlayer.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.bootcss.com/dplayer/1.25.0/DPlayer.min.css" />
<!-- 存储服务 -->
<script src="/ytyz2020/js/av-min.js" defer></script>
<!-- 即时通讯服务 -->
<script src="/ytyz2020/js/realtime-browser.min.js" defer></script>
<script>
var furl="http://hls.wenxiang.org/live/decee9af3365450687c9a66f387318e6.m3u8?time=1585374403&secret=c7f9b08cab72f56ad0c13f2b15c6107b";
var timein;
var inputPassword;
var inputEmail;
// 请将 AppId 改为你自己的 AppId，否则无法本地测试
var appId = 'jk2vXseRAzJR3rePfsSD1dI7-MdYXbMMI';
var appKey = 'Owi4A0EpLx81qBIvi5XmVvgi';
// 请换成你自己的一个房间的 conversation id（这是服务器端生成的）
var roomId = '5e6c4636718e8600081f88bd';
var client;
// 用来存储创建好的 roomObject
var room;
var loginin = false;
// 监听是否服务器连接成功
var firstFlag = true;
var t = new Date();
//如果是在7:30 1:30 提示课程开始还有多长时间
//如果之前下一节 提示还早着呢
var t0= new Date(t.getFullYear(),t.getMonth(),t.getDate()-1,17,5,0);
var t1 = new Date(t.getFullYear(),t.getMonth(),t.getDate(),7,55,0);
//var t2 = t.setHours(9).setMinutes(25).setSeconds(00);
//var t3 = t.setHours(9).setMinutes(35).setSeconds(00);	
var t4 = new Date(t.getFullYear(),t.getMonth(),t.getDate(),11,5,0);
var t5 = new Date(t.getFullYear(),t.getMonth(),t.getDate(),13,55,0);
//var t6 = t.setHours(15).setMinutes(25).setSeconds(00);
//var t7 = t.setHours(15).setMinutes(35).setSeconds(00);
var t8 = new Date(t.getFullYear(),t.getMonth(),t.getDate(),17,5,0);
var t9=new Date(t.getFullYear(),t.getMonth(),t.getDate()+1,7,55,0);
//to do something
if(t0<t&&t<t1){
	//下午已经结束 快上午得了 距离上课多少分钟
	timein = setInterval(function(){ timer(t1) }, 1000);
}else if(t1<t&&t<t4){
	//接下来上课了 显示视频
	video();
}else if(t4<t&&t<t5){
	//到中午了
	timein = setInterval(function(){ timer(t5) }, 1000);
}else if(t5<t&&t<t8){
	//下午上课
	video();
}else if(t8<t&&t<t9){
	//明天上课
	timein = setInterval(function(){ timer(t9) }, 1000);
}
function timer(go_time){
                var now_time=new Date();
                var alltime =go_time.getTime() -now_time.getTime ();  //总的时间（毫秒）
                //console.log(alltime);   1s =1000ms  1分=60s   1时 =60分  1天 =24时   1月=30天  1年=12月
                var scend = parseInt ((alltime/1000)%60  ) ;  //秒
                //console.log(scend);
                var minute =parseInt((alltime/1000/60)%60  ) ;  //  分钟
                // console.log(minute);
                var hour =parseInt((alltime/1000/60/60)%24 ) ;   //小时
                // console.log(hour);
                var day=parseInt((alltime/1000/60/60/24)%30);   //天数
                // console.log(day);
                document.getElementById("video2").innerHTML ="距离下次上课还有："+day+"天"+hour+"时"+minute +"分"+scend +"秒";
}
var inhttptest;
function initlive(){
	if(window.location.protocol=="https:"){
		showLog4('检测到您当前使用https访问，但是本站并不支持，请检查地址栏并将"https://"中的"s"删除，之后回车');
	}
	if((((t1-t>0)&&(t1-t)<30*60*1000))||((t5-t)>0&&((t5-t)<30*60*1000))){
		var time1=document.getElementById("notice");
		var notice = document.createElement("p");
		var noticet = document.createTextNode("请不要走开，正在检测播放节点......");
		notice.appendChild(noticet);
		time1.appendChild(notice);
		var xmlHttp = null;
		if (window.ActiveXObject) {
			// IE6, IE5 浏览器执行代码
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		} else if (window.XMLHttpRequest) {
			// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
			xmlHttp = new XMLHttpRequest();
		}
		//2.如果实例化成功，就调用open（）方法：
		if (xmlHttp != null) {
			xmlHttp.open("get", furl, true);
			xmlHttp.send();
			xmlHttp.onreadystatechange = doResult; //设置回调函数                 
		}
		function doResult() {
			if (xmlHttp.readyState == 4) { //4表示执行完成
				if (xmlHttp.status == 200) { //200表示执行成功
					var msg = xmlHttp.responseText;
					var b=msg.lastIndexOf("http");
					if(b==-1){
						clearInterval(timein);
						video();
						time1.removeChild(notice);
						return;
					}
					msg = msg.substring(msg.lastIndexOf("http"),msg.length);
					 $.ajax({
					  url: msg,
					  type: 'GET',
					  dataType: 'jsonp',
					  complete: function(response) {
					   if(response.status == 200) {
							clearInterval(timein);
							time1.removeChild(notice);
							video();
					   } else {
							showLog('稍等一会吧(⁎⚈᷀᷁ᴗ⚈᷀᷁⁎)，一般到55分左右就会有啦');
							urlerror();
					   }
					  }
					 });
				}else{
					urlerror();
				}
			}
		}
		function urlerror(){
			time1.removeChild(notice);
		}
	}
}
function login() {
		Promise.all([
					loadExternalResource("/ytyz2020/js/realtime-browser.min.js", "js"),
					loadExternalResource("/ytyz2020/js/av-min.js", "js")
		]).then(() => {
			inputPassword = document.getElementById('input-password');
			inputEmail = document.getElementById('input-email');
			AV.initialize(appId, appKey);
			// 创建实时通信实例
			var realtime = new AV.Realtime({
			  appId: appId,
			  appKey: appKey,
			  plugins: AV.TypedMessagesPlugin,
			});
		  var email = inputEmail.value;
			var pas = inputPassword.value;
			$("#loginbtn").attr('disabled',true);
		  showLog('正在登录');
		  if (!firstFlag) {
		    client.close();
		  }
		  localStorage.setItem('email',email);
		  localStorage.setItem('passward',pas);
		  // 创建聊天客户端
		   AV.User.loginWithEmail(email, pas)
		    .then(function(user) {
		      return realtime.createIMClient(user);
		    })
		    .then(function(c) {
		      showLog('连接成功');
		      firstFlag = false;
			  $("#fromlogin").hide();
			$("#cuser").text(email);
		      client = c;
		      client.on('disconnect', function() {
		        showLog('[disconnect] 服务器连接已断开');
		      });
		      client.on('offline', function() {
		        showLog('[offline] 离线（网络连接已断开）');
		      });
		      client.on('online', function() {
		        showLog('[online] 已恢复在线');
		      });
		      client.on('schedule', function(attempt, time) {
		        showLog(
		          '[schedule] ' +
		            time / 1000 +
		            's 后进行第 ' +
		            (attempt + 1) +
		            ' 次重连'
		        );
		      });
		      client.on('retry', function(attempt) {
		        showLog('[retry] 正在进行第 ' + (attempt + 1) + ' 次重连');
		      });
		      client.on('reconnect', function() {
		        showLog('[reconnect] 重连成功');
		      });
		      client.on('reconnecterror', function() {
		        showLog('[reconnecterror] 重连失败');
		      });
		      // 获取对话
		      return c.getConversation(roomId);
		    })
		    .then(function(conversation) {
		      return conversation.join();
		    })
		    .then(function(conversation) {
		      room = conversation;
		      // 房间接受消息
		      conversation.on('message', function(message) {
				var b = JSON.parse(message._lctext);
				var danmaku = {
					    text: b.text,
					    color: b.color,
		                type: b.type
					};
				dp.danmaku.draw(danmaku);
		      });
		    })
		    .catch(function(err) {
		      console.error(err);
		      showLog('错误');
		      $("#loginbtn").attr('disabled',false);
		    });
	});
}
$(function(){
	initlive();
});
function video(){
	var option = {
	    element: document.getElementById('video2'),
	    video: {
	        url: furl,
	        type: 'customHls',
	        customType: {
	            customHls: function(video, player) {
					window.hls = new Hls();
	                hls.loadSource(video.src);
	                hls.attachMedia(video);
					hls.on(Hls.Events.ERROR, function (event, data) {
				    if (data.fatal) {
						if(data.type=="NETWORK_ERROR"&&window.location.protocol=="https:"){
							showLog4('检测到您当前使用https访问，但是本站并不支持，请检查地址栏并将"https://"中的"s"删除，之后回车');
						}else{
					  showLog2(data.details+","+data.type);
					}
				      switch(data.type) {
					      case Hls.ErrorTypes.NETWORK_ERROR:
					      // try to recover network error
					        dp.notice("出现网络问题，正在尝试重新缓冲");
					        hls.startLoad();
					        break;
					      case Hls.ErrorTypes.MEDIA_ERROR:
					        dp.notice("正在恢复源问题");
					        hls.recoverMediaError();
					        break;
					      default:
					      // cannot recover
					        alert('无法恢复播放，请刷新');
					        break;
					      }
				    }
				  });
	            },
	        },
	    },
		danmaku: true,
 	    apiBackend: {
			read: function(options) {options.success();},
			send: function(options) {
				  // 不让发送空字符
				  var value = JSON.stringify(options.data);
				  // 向这个房间发送消息，这段代码是兼容多终端格式的，包括 iOS、Android、Window Phone
				   room.send(new AV.TextMessage(value));
			},
		},
	    live: true
	};
	window.dp = new DPlayer(option);
	dp.volume(0.8, false, false);
	dp.on('error', function() {
		checkerror();
		showLog2(dp.video.error.message);
	});
	inhttptest = setInterval(function(){ httptest() }, 4000);
	window.addEventListener("visibilitychange", () => {
			if (!document.hidden){
				if(inhttptest==null)inhttptest = setInterval(function(){ httptest() }, 4200);
			}else{
				if(inhttptest!=null)clearInterval(inhttptest);
			}
		});
}
function checkerror(){
		var t = new Date();
		var t1 = new Date(t.getFullYear(),t.getMonth(),t.getDate(),7,55,0);
		var t2 = new Date(t.getFullYear(),t.getMonth(),t.getDate(),11,5,0);
		var t3 = new Date(t.getFullYear(),t.getMonth(),t.getDate(),13,55,0);
		var t4 = new Date(t.getFullYear(),t.getMonth(),t.getDate(),17,5,0);
    	if(((t2-t)>0&&(t2-t)<20*60*1000)||((t4-t)>0&&(t4-t)<20*60*1000)){
    		showLog("同学，这个时间应该是下课了");
  	  }else if(((t-t1)>20*60*1000&&(t2-t)>20*60*1000)||((t-t3)>20*60*1000&&(t4-t)>20*60*1000)){
  		showLog("同学，这个时间应该是出问题了，尝试刷新吧，点击右下方蓝色信息图标，和我联系吧");
 	 }
}
//login log
function showLog(msg){
	//alert(msg);
	$('<div>').appendTo('#notice2').addClass('alert alert-info').html(msg).show().delay(2000).fadeOut();
}
//不会消失的log
function showLog4(msg){
	//alert(msg);
	$('<div>').appendTo('#notice3').addClass('alert alert-warning').html(msg).show();
}
//catch log
function showLog2(msg){
	//alert(msg);
	document.getElementById("notice3").innerHTML='<div class="alert alert-warning alert-dismissible fade show" role="alert"><strong>发现错误: </strong> '+msg+' 请把我复制给网站作者<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button></div>';
}
//httptest log
function showLog3(msg){
	//alert(msg);
	$('<div>').appendTo('#notice3').addClass('alert alert-info').html(msg).show().delay(2000).fadeOut();
}
function signUp(){
	// 创建实例
	var user = new AV.User();
	user.setUsername(inputEmail.value);
	user.setPassword(inputPassword.value);
	alert("你的密码是: "+inputPassword.value);
	user.setEmail(inputEmail.value);
	user.signUp().then(function (user) {
	showLog("验证邮件已发送，请查收");
	user.requestEmailVerify();
	}, function (error) {
  	// 注册失败（通常是因为用户名已被使用）
  	showLog("注册失败: " +error.message);
	});
}
var res;
var disconnect = false;
function httptest(){
    		$.ajax({
	        type: "GET",
	        url: furl,
	        cache: false,
	        success: function (response,status,xhr) {
				if(res){
					if(response.substring(response.indexOf("EXTINF"),response.length)!=res){
						document.getElementById("notice4").innerHTML='当前源状态: 🙂';
						if(disconnect){
							showLog3("检测到当前源已恢复，未播放请刷新");
							disconnect = false;
						}
					}else{
						document.getElementById("notice4").innerHTML='当前源状态: 😂';
						showLog3("检测到当前源未更新，您可以继续等待，如果发生在下课，请上课前三分钟再来");
						disconnect=true;
					}
				}
				res = response.substring(response.indexOf("EXTINF"),response.length);
	        },
	        error: function () {
	            console.log("请求失败");
	        }
	    });
}
</script>
<h3>课程表 3月29日 星期日</h3>
<div style="text-align: center">
<a href="../assets/html/curriculum5.htm"  style="display: block; text-align: center;"  target="_blank">最新课程表点我看</a>
<div style="display: inline-block;">


<table>
<thead>
<tr>
<th>科目</th>
<th>授课教师</th>
<th>时间</th>
<th>听课学生</th>
<th>自修课</th>
</tr>
</thead>
<tbody><tr>
<td>历史</td>
<td>高秀娟</td>
<td>8:00-8:50</td>
<td>文班</td>
<td>理班化学自习</td>
</tr>
<tr>
<td>生物</td>
<td>杨万娟</td>
<td>9:00-9:50</td>
<td>理班</td>
<td>文班历史自习</td>
</tr>
<tr>
<td>文数</td>
<td>梁长春</td>
<td>10:00-10:50</td>
<td>文班</td>
<td>理班生物自习</td>
</tr>
<tr>
<td>语文</td>
<td>静恩星</td>
<td>14:00-14:50</td>
<td>全体</td>
<td></td>
</tr>
<tr>
<td>地理</td>
<td>张本学</td>
<td>15:00-15:50</td>
<td>文班</td>
<td>理班生物自习</td>
</tr>
<tr>
<td>数学</td>
<td>赵九江</td>
<td>16:00-16:50</td>
<td>理班</td>
<td>文班地理自习</td>
</tr>
</tbody></table>
</div></div>
<h3>你问我答</h3>
<div class="alert alert-success" role="alert">
<p>    问: 无法快进快退</p>
<p>    答: 晚上我手机下载了个360极速浏览器，发现他是这样的<a href="/ytyz2020/assets/jpg/Screenshot_2020-03-16-19-32-06-719_com.qihoo.contents.jpg" target="_blank">我是图片</a><a href="/ytyz2020/assets/mp4/Screenrecorder-2020-03-16-19-35-41-926.mp4" target="_blank">我是视频</a></p>
<p>    问: 怎么还是卡?</p>
<p>    答: 此时您最好与我联系，提供您的浏览器信息和系统信息</p>
<p>    问: 什么时候更新？</p>
<p>    答: 直播的话老师发码两分钟之内，一般55分时候就可以看了；然后视频的话是播完后二十分钟之内 10分左右就可以看了</p>
<p>    问: 播放地址失效/无效数据源/缓冲失败</p>
<p>    答: 如果发生在快下课的时候，那就是下课了，老师那里已经不直播了，对这个判定我会再看看的，因为如果播放失败后立刻把视频关了，可能会出现杀好人的情况，请同学们谅解；如果发生在上课之间，那么就是视频本身出现问题了，我会第一时间抢修，具体判定我已经添加了，有时候都到50多分了，这里还没法看，等会吧，我一直都盯着呢</p>
<p>    问: 如何看回放?</p>
<p>    答: 右上角有三条横线的图标，那是菜单，然后选首页或归档都行，单独找哪科或哪天的就点tag，一试便知</p>
</div>
</div>

<!-- Comments -->
<div class="mx-auto nopadding-md">
  <div class="container comments mx-auto" id="comments">
    
  </div>
</div>


              </div>
            </div>
          </div>
        </div>
      </div>
    
  </main>
  
    <a class="z-depth-1" id="scroll-top-button" href="#" role="button">
      <i class="fa fa-chevron-up scroll-top-arrow" aria-hidden="true"></i>
    </a>
  
  
  
  
  <footer class="mt-5">
  <div class="text-center py-3">
<b id="poem_sentence"></b><br>
<b id="poem_info"></b>
    
  <div onclick='(window.open("https://new.cnzz.com/v1/login.php?siteid=1278736497"))' style="display:none">
    
      <!-- 不蒜子统计PV -->
      
      <span id="busuanzi_container_site_pv" style="display: none">
      总访问量 <span id="busuanzi_value_site_pv"></span> 次
    </span>
    
    
      <!-- 不蒜子统计UV -->
      
      <span id="busuanzi_container_site_uv" style="display: none">
      总访客数 <span id="busuanzi_value_site_uv"></span> 人
    </span>
    
  </div>


    <b>&copy; 2020 ekworp</b>
    

    <!-- cnzz Analytics icon -->
    
      <span id="cnzz_stat_icon_1278736497"></span>
    
  </div>
</footer>
<!-- PLUGINS -->

  <script defer pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js" ></script>



  
    <!-- Baidu Analytics -->
    <script defer pjax>
      var _hmt = _hmt || [];
      (function () {
        var hm = document.createElement("script");
        hm.src = "https://hm.baidu.com/hm.js?9824fda7d040e52fbee08c1fb5f326bb";
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(hm, s);
      })();
    </script>
  

  

  

  

  <!-- cnzz Analytics -->
  
    <script defer pjax src="//s4.cnzz.com/z_stat.php?id=1278736497&webid=1278736497&&show=pic" type="text/javascript"></script>
  



  <script  src="https://cdn.staticfile.org/anchor-js/4.2.2/anchor.min.js" ></script>
  <script pjax>
    anchors.options = {
      placement: "right",
      visible: "hover",
      
      icon: "♫"
      
    };
    var el = "h1,h2,h3,h4,h5,h6".split(",");
    var res = [];
    for (item of el) {
      res.push(".markdown-body > " + item)
    }
    anchors.add(res.join(", "))
  </script>



  <script pjax>(function (i, s, o, g, r, a, m) {
      i['DaoVoiceObject'] = r;
      i[r] = i[r] ||
        function () {
          (i[r].q = i[r].q || []).push(arguments);
        };
      i[r].l = 1 * new Date();
      a = s.createElement(o);
      m = s.getElementsByTagName(o)[0];
      a.async = 1;
      a.src = g;
      a.charset = 'utf-8';
      m.parentNode.insertBefore(a, m);
    })(window, document, 'script', ('https:' === document.location.protocol ? 'https:' : 'http:') + "//widget.daovoice.io/widget/657fddba.js", 'daovoice');
    daovoice('init', {
      app_id: "657fddba",
    });
    daovoice('update');
  </script>




  
<script src="/ytyz2020/live2d-widget/autoload.js"></script>





  <script  src="https://cdn.staticfile.org/typed.js/2.0.11/typed.min.js" ></script>
  <script id="typedjs">
    var typed = new Typed('#subtitle', {
      strings: [
        '  ',
        "最新直播&nbsp;",
      ],
      cursorChar: "_",
      typeSpeed: 70,
      loop: false,
    });
    typed.stop();
    $(document).ready(function () {
      $(".typed-cursor").addClass("h2");
      typed.start();
    });
  </script>









  
  
    <script>
      !function (e, t, a) {
        function r() {
          for (var e = 0; e < s.length; e++) s[e].alpha <= 0 ? (t.body.removeChild(s[e].el), s.splice(e, 1)) : (s[e].y--, s[e].scale += .004, s[e].alpha -= .013, s[e].el.style.cssText = "left:" + s[e].x + "px;top:" + s[e].y + "px;opacity:" + s[e].alpha + ";transform:scale(" + s[e].scale + "," + s[e].scale + ") rotate(45deg);background:" + s[e].color + ";z-index:99999");
          requestAnimationFrame(r)
        }

        function n() {
          var t = "function" == typeof e.onclick && e.onclick;
          e.onclick = function (e) {
            t && t(), o(e)
          }
        }

        function o(e) {
          var a = t.createElement("div");
          a.className = "heart", s.push({
            el: a,
            x: e.clientX - 5,
            y: e.clientY - 5,
            scale: 1,
            alpha: 1,
            color: c()
          }), t.body.appendChild(a)
        }

        function i(e) {
          var a = t.createElement("style");
          a.type = "text/css";
          try {
            a.appendChild(t.createTextNode(e))
          } catch (t) {
            a.styleSheet.cssText = e
          }
          t.getElementsByTagName("head")[0].appendChild(a)
        }

        function c() {
          return "rgb(" + ~~(255 * Math.random()) + "," + ~~(255 * Math.random()) + "," + ~~(255 * Math.random()) + ")"
        }

        var s = [];
        e.requestAnimationFrame = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame || function (e) {
          setTimeout(e, 1e3 / 60)
        }, i(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"), n(), r()
      }(window, document);
    </script>
  



</body>
</html>
